Aspects of the present invention relate to business rules for representing and evaluating decision tables and decision trees, and more particularly to a method, system and computer program product for forming composite production rules for representing and evaluating decision tables and decision trees.
A regular production rule is composed of a condition part, also known as the left hand-side, defining the pattern matching portion of the rule, and an action part, also known as the right hand-side, which is the action to be taken in response to the condition being satisfied. In different rule systems, the production rules have been augmented with an else part. One example of augmented production rules is IBM WebSphere ILOG Jrules 4.5. IBM, WebSphere and ILOG are trademarks of International Business Machines Corporation in the United States, other countries or both. In this version of Jrules, the else action part is executed if the last Boolean condition was evaluated to be false. As new business artifacts such as decision rules tables and decision trees are becoming more commonly used in the Business Rule Management System (BRMS) environment, the standard condition/action paradigm of common production rules is not capable of representing such business artifacts. Previous production rules, such as JRules and similar BRMS tools require that decision tables or trees be represented by several different and separate production rules. Moreover a separate production rule may be required for each line of a table. This representation leads to complex compilation in order to enhance the execution performance of the multiplicity of production rules. Further, as decision tables and trees are becoming much more commonly and widely used in industrial applications, the size of such decision tables and trees are becoming quite substantial which can result in scalability challenges and performance limitations.